package day4;

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main2 {
    /**
     * kotori和n皇后
     * https://ac.nowcoder.com/acm/problem/50043
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int k = in.nextInt();
        // 使用哈希表统计 皇后 攻击的位置
        Set<Long> row = new HashSet<>();
        Set<Long> col = new HashSet<>();
        Set<Long> dig1 = new HashSet<>(); // 主对角线的攻击范围 y-x
        Set<Long> dig2 = new HashSet<>(); // 副对角线的攻击范围 y+x

        int ret = (int)1e5 + 1; // 第一次的攻击

        // 找到开始攻击的位置
        for(int i = 1;i <= k;i++) {
            long x = in.nextLong();
            long y = in.nextLong();
            if(ret != (int)1e5 + 1) {
                // 说明已经找到第一次互相攻击的位置了，直接跳过后面的操作
                continue;
            }
            if(row.contains(x) || col.contains(y)
                    || dig1.contains(y - x) || dig2.contains(y + x)) {
                // 说明存在互相攻击的位置了
                ret = i;
            }
            row.add(x);
            col.add(y);
            dig1.add(y - x);
            dig2.add(y + x);
        }

        int t = in.nextInt();
        while(t-- != 0) {
            int i = in.nextInt();
            if(i >= ret) {
                System.out.println("Yes");
            }else {
                System.out.println("No");
            }
        }
    }
}
